extends "../horsebase/horsebase.gd"

var cnt
var cnt2
var cnt3

func init():
	.init()
	name = "野马"
	resetdata()
	att.maxHp = 100
	att.atkRan = 1
	att.dod = 0.05
	att.def = 10
	att.mgiDef = 10
	info = "田忌赛马：若当前敌人没有装备马，则增伤增加20%，若敌方马等级和自身一样，则增加10%闪避:若敌方马等级高于自身，则增加 20%减伤:比较只针对敌方装备等级最高的马:所有加成持续5秒[od:6秒]\n"
	info = info + "[color=#666666]骑士/骑士王/帕拉丁专属：开局向敌方冲锋[若前方没有敌人，则使用失败]，对第一个命中敌方造成 100%物理伤害，同时为自己、敌方及敌方十字范围内敌人附加1层<眩晕>，为自己附加生命上限10%护盾[未解锁][/color]"

func _connect():
	._connect()
	if masCha.id.find("cTDW_2") != -1 || masCha.id == "cex___Hide_Paladin":
		masCha.connect("onBattleStart",self,"qszs")
		info = info.replace("[color=#666666]骑士/骑士王/帕拉丁专属：开局向敌方冲锋，对第一个命中敌方造成 100%物理伤害，同时为自己、敌方及敌方十字范围内敌人附加1层<眩晕>，为自己附加生命上限10%护盾[未解锁][/color]","[color=#FFA500]骑士/骑士王/帕拉丁专属：开局向敌方冲锋，对第一个命中敌方造成 100%物理伤害，同时为自己、敌方及敌方十字范围内敌人附加1层<眩晕>，为自己附加生命上限10%护盾[已解锁][/color]")
	else:
		info = info.replace("[color=#FFA500]骑士/骑士王/帕拉丁专属：开局向敌方冲锋，对第一个命中敌方造成 100%物理伤害，同时为自己、敌方及敌方十字范围内敌人附加1层<眩晕>，为自己附加生命上限10%护盾[已解锁][/color]","[color=#666666]骑士/骑士王/帕拉丁专属：开局向敌方冲锋，对第一个命中敌方造成 100%物理伤害，同时为自己、敌方及敌方十字范围内敌人附加1层<眩晕>，为自己附加生命上限10%护盾[未解锁][/color]")
	sys.main.connect("onBattleStart",self,"resetcnt")
#重置计数器
func resetcnt():
	cnt = 0
	cnt2 = 0
	cnt3 = 0
#骑士专属
func qszs():
	yield(sys.get_tree().create_timer(0.1),"timeout")
	var v = Vector2(1,0)
	if masCha.team == 2:v = Vector2(-1,0)
	var cell = masCha.cell
	while sys.main.isMatin(cell):
		cell += v
		if sys.main.matCha(cell) == null && sys.main.isMatin(cell + v):
			var cha = sys.main.matCha(cell + v)
			if cha == null:continue
			if masCha.setCell(cell) :
				var pos = sys.main.map.map_to_world(cell)
				masCha.ying(pos,masCha.position)
				masCha.position = pos
				masCha.aiCha = null
				masCha.hurtChara(cha,masCha.att.atk,Chara.HurtType.PHY,Chara.AtkType.SKILL)
				var chas = cha.getCellChas(cha.cell,1,2)
				chas.append(masCha)
			#chas.append(cha)
				for i in chas:
					i.addBuff(ctrl.b_xuanyun.new(1))
				masCha.changeShield(masCha.att.maxHp * 0.1)
				break
#田忌赛马
func _upS():
	._upS()
	cnt += 1
	if cnt == 6:
		cnt = 0
		if masCha.aiCha:
			var flag = 0#0:对面没马，1对面马和自己一样，2对面马大于自己
			var slv = getlv(self.id)
			for i in masCha.aiCha.items:
				var olv = getlv(i.id)
				if slv == olv:
					flag = 1
				if slv < olv:
					flag = 2
			masCha.addBuff(horse_buff.new(flag))
#获取马等级
func getlv(ids):
	if ids == "i_horse":
		return 1
	if ids.find("MAX") != -1:
		return 3
	return 2
#田忌赛马的buff
class horse_buff:
	extends Buff
	func _init(chose):
		attInit()
		id = "horse_buff"
		life = 5

		if !chose:
			att.atkR = 0.2
		elif chose == 1:
			att.dod = 0.1
		else:
			att.defR = 0.2